1. Field of the Invention
The present invention relates to computing systems, and more particularly to systems using a virtual universal serial port interface and a virtual storage interface.
2. Background
Baseboard management controllers (BMC) are used to monitor the functionality of system boards used in various configurations including servers. Intelligent Platform Management Interface (IPMI) is a standard interface developed by Intel Corporation™ that defines a common interface for a BMC to monitor a server's (or any other computing system's) physical characteristics, for example, temperature, voltage, fans, power supplies and chassis intrusion. IPMI allows automatic and manual recovery functionality, such as local or remote system resets and power on/off operations. IPMI also assists in logging events and alerting out of range events. IPMI specification version 1.5 is incorporated herein by reference in its entirety.
Typically, a BMC is coupled to a host system via an interface that allows IPMI messages. The BMC can monitor the host system and provide data to a remote console (module) via a LAN or any other network. The BMC can also share a LAN controller with the monitored system.
Section 12 of the IPMI specification provides details about the mechanisms provided for transferring IPMI messages between a BMC and remote module using a LAN connection via an Ethernet controller using UDP protocol under the IPv4 protocol, defined below. Typically, UDP datagrams are formatted to contain IPMI requests and response messages.
Currently, when a host communicates with a remote storage device the entire image of the file is taken into host internal memory. This is very expensive and hence not a desirable commercial solution.
In addition, conventional BMC's do not have the ability to direct data traffic from a host to a LAN link. This becomes important if the host sends data that can be used by another device coupled to a LAN link and which has proper software to handle such data.
Currently newer operating systems (for examples Microsoft Windows XP®, code name “Whistler”) can redirect all screen display and keyboard exchanges to a serial port instead of a KVM Interface. Hence, a BMC should be able to redirect traffic (for example, keyboard and display) to a LAN link so that a remote console can monitor the information. Hence, a BMC must be capable of emulating a universal serial port so that a host operates normally as if communicating with a serial port, while data is being routed to a LAN link to a remote console or other devices. Conventional BMCs are not capable of emulating a universal serial port interface (“UART”).
Although the foregoing discussion has been based on using BMCs, the need for a virtual I/O (i.e. a virtual serial port and virtual storage interface) is not limited to just that environment. Virtual I/O may be used in various other environments, for example, a computing system (including servers) may use a virtual I/O system in discrete logic without using a BMC and avoid unnecessary hardware. The current state of the art does not allow virtual I/O for computing systems.
Therefore, there is a need for a virtual storage interface (“VSI”) that will allow a host to send data over a LAN (or any other network) to a remote console without disturbing the host (i.e. the host assumes it is communicating with a storage device). There is also a need for a virtual universal serial port interface (“USI”) that will allow communication from the host in a universal serial port format to a remote console, while the host system is unaware of the USI.